模运算下的剩余问题,是将开方运算引入模运算的尝试。
令整数 k≥2,整数 a,m 满足 (a,m)=1,若存在整数 x 使得
xk≡a(modm)(1)
则称 a 为模 m 的 k 次剩余,否则称 a 为模 m 的 k 次非剩余。
当整数 k≥2,整数 a,m 满足 (a,m)=1,模 m 有原根 g 时,令 d=(k,φ(m)),则:
-
a 为模 m 的 k 次剩余当且仅当 d∣indga,即:
adφ(m)≡1(modm)
-
方程 (1) 若有解,则模 m 下恰有 d 个解
-
模 m 的 k 次剩余类的个数为 dφ(m), 其有形式
a≡gdi(modm),(0≤i<dφ(m))
-
令 x=gy,则方程 (1) 等价于
gky≡gindga(modm)
其等价于
ky≡indga(modφ(m))(2)
由同余的性质,我们知道 y 有整数解当且仅当 d=(k,φ(m))∣indga,进而
adφ(m)≡1(modm)⟺gdφ(m)indga≡1(modm)⟺φ(m)∣dφ(m)indga⟺φ(m)d∣φ(m)indga⟺d∣indga
-
当 d∣indga 时,由同余的性质可知方程 (2) 模 φ(m) 下恰有 d 个解,进而方程 (1) 模 m 下恰有 d 个解。
-
由 1 知 a 为模 m 的 k 次剩余当且仅当 d∣indga,故
indga≡di(modφ(m)),(0≤i<dφ(m))
故模 m 的 k 次剩余共有 dφ(m) 个同余类:
a≡gdi(modm),(0≤i<dφ(m))